#include <iostream>

#include<map>

#include<unordered_map>

using namespace std;


//统一的列表初始化{}    (非初始化列表)
struct Point {
  int x;
  int y;
};

class Date {
    public:
        /*explicit*/ Date(int year,int month,int date)
        :_year(year),
        _month(month),
        _date(date)
        {
          cout << "Date(){}" << endl;
        }

    private:
    int _year;
    int _month;
    int _date;
};

// int main() {
//   //   cout << "hello world" << endl;
//   int a1{1};
//   int a2 = {1};

//   Point p1 = {1, 2};
//   Point p2{1, 2};
// /*
//     该处p1与p2的理解方式不同
//     对于p1的理解方式为构造+拷贝构造 优化成直接构造
//     p2为直接构造
// */


//   int a3(2);

//   int ar1[]{1, 2, 3, 4, 5};
//   int ar2[5] = {1, 2, 3, 4, 5};
//   int ar3[5]{1, 2, 3, 4, 5};

//   int *p3 = new int[4]{0};

//   // Date d1(1, 2, 3);
//   // cout << "----" << endl;
//   // Date d2{1, 2, 3};
//   // cout << "----" << endl;
//   // Date d3 = {1, 2, 3};
//   // cout << "----" << endl;

//   map<int, int> m1;
//   int arr[]{11, 22, 33, 44, 55};
//   for(auto it:arr){
//     m1[it]++;
//   }

// for(auto [key,value] : m1){
//   cout << key << " : " << value << endl;
// }

//   return 0;
// }

